#include "StorageDevice.h"

#define CMD  1
#define DATA 0
#define GET_IC_VER    0x01 //01H GET_IC_VER 版本号 获取芯片及固件版本
#define CHECK_EXIST   0x06 //06H CHECK_EXIST 任意数据 按位取反 测试工作状态
#define DISK_INIT     0x51 //51H DISK_INIT 产生中断 初始化USB存储设备
#define GET_STATUS    0x22 //22H GET_STATUS 中断状态 获取中断状态并取消请求
#define TEST_CONNECT  0x16 //16H TEST_CONNECT （等2uS） 连接状态 检查USB 设备的连接状态
#define SET_USB_MODE  0x15 //15H SET_USB_MODE 模式代码 （等20uS） 操作状态 设置USB 工作模式
#define DISK_SIZE     0x53 //53H DISK_SIZE 产生中断 获取USB 存储设备的容量
#define RD_USB_DATA   0x28 //28H RD_USB_DATA 数据长度 从当前USB中断的 数据流 端点缓冲区读取数据块
#define DISK_READ     0x54 //54H DISK_READ LBA 地址 产生中断 从USB存储设备读数据块
#define DISK_RD_GO    0x55 //55H DISK_RD_GO 产生中断 继续USB 存储设备的读操作
#define RESET_ALL     0x05 //05H RESET_ALL （等40mS） 执行硬件复位


class CH375b : public StorageDevice {
 public:
  int errorCode_;
  int status_;
  int secCount;

  int secSize;

  int initError;
  int init();

};
